The altSyntax is an option that can be defined in webwork.properties. By default it is set to true and it is strongly recommend you do not change that unless you are upgrading from WebWork 2.1.7 or previous versions.
The altSyntax changes the behavior of how tags are interpreted. Instead of evaluating each tag parameter against the value stack and needing single quotes to mark string literals, only marked expressions are evaluated. Example: the following code uses the Tag Syntax: <ww:iterator value="cart.items"> ... <ww:textfield label="'Cart item No.' + #rowstatus.index + ' note'" name="'cart.items[' + #rowstatus.index + '].note'" value="note" /> </ww:iterator> this is somewhat counter intuitive to normal HTML tag behaviour, and you get loads of single quotes. Now the same example in altSyntax: <ww:iterator value="cart.items"> ... <ww:textfield label="Cart item No. %{#rowstatus.index} note" name="cart.items[%{#rowstatus.index}].note" value="%{note}" /> </ww:iterator> Only expressions enclosed with %{} are evaluated. The code is shorter and clearer, very similar to JSTL EL usage. Quoting problems, eg. with javascript function calls, are avoided. In order to fully understand why this option exists and what the differences are, it is best to get a bit of history about WebWork.
HistoryIn WebWork 2.1.4, the altSyntax option was introduced. The book, WebWork in Action, while based around WebWork 2.1.7, was entirely written with the assumption that the altSyntax was enabled. As of WebWork 2.2, the altSyntax is turned on by default and eventually the old syntax will no longer be supported and will be removed from the code. |